python csv.reader 没有len_python csv阅读器没有读取所有行

所以我在CSV文件中有大约5008行,总共有5009个 Headers . 我正在同一个脚本中创建和编写此文件 . 但是当我最后阅读它时,使用pandas pd.read_csv或python3的csv模块,并打印len,它输出4967.我检查了文件中是否有任何奇怪的字符,可能会让python感到困惑,但看不到任何 . 所有数据都以逗号分隔 .

我也在崇高中打开它,它显示5009行而不是4967 .

我可以尝试使用像merge或concat这样的pandas的其他方法,但是如果python不会读取csv的正确,那就没用了 .

这是我试过的一种方法 .

df1=pd.read_csv('out.csv',quoting=csv.QUOTE_NONE, error_bad_lines=False)

df2=pd.read_excel(xlsfile)

print (len(df1))#4967

print (len(df2))#5008

df2['Location']=df1['Location']

df2['Sublocation']=df1['Sublocation']

df2['Zone']=df1['Zone']

df2['Subnet Type']=df1['Subnet Type']

df2['Description']=df1['Description']

newfile = input("Enter a name for the combined csv file: ")

print('Saving to new csv file...')

df2.to_csv(newfile, index=False)

print('Done.')

target.close()

我尝试的另一种方式是

dfcsv = pd.read_csv('out.csv')

wb = xlrd.open_workbook(xlsfile)

ws = wb.sheet_by_index(0)

xlsdata = []

for rx in range(ws.nrows):

xlsdata.append(ws.row_values(rx))

print (len(dfcsv))#4967

print (len(xlsdata))#5009

df1 = pd.DataFrame(data=dfcsv)

df2 = pd.DataFrame(data=xlsdata)

df3 = pd.concat([df2,df1], axis=1)

newfile = input("Enter a name for the combined csv file: ")

print('Saving to new csv file...')

df3.to_csv(newfile, index=False)

print('Done.')

target.close()

但无论我尝试CSV文件的方式是实际问题,python正确地写它但没有正确读取它 .

编辑:最奇怪的部分是我在运行代码时绝对没有编码错误或任何错误...

Edit2:尝试在第一个代码示例中使用nrows param对其进行测试,最多可处理4000行 . 很快,当我指定5000行时,它只读取4967行 .

Edit3:用我的数据手动保存csv文件,而不是使用程序写的那个,它读取5008行 . 为什么python没有正确编写csv文件?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值