python-3.x - 将数据从 csv 加载到 pandas 数据框会给出 NaN
问题描述
我正在使用以下代码将 csv 文件读入 pandas,但是当我将其移动到数据框中时,我只会得到 Nans。我需要将其放入数据框以将其加载到 SQL Server 中。我正在使用以下代码将数据加载到 csv 文件中:
for file in z.namelist():
df1=pd.read_csv(z.open(file),sep='\t',skiprows=[1,2])
print(df1)
这给了我预期的结果: 但是当我尝试将数据放入数据框中时,我得到的只是 NaN。这是我在上述步骤之后用于将数据加载到数据框中的代码。
df1 = pd.DataFrame(df1,columns=['ResponseID','ResponseSet','IPAddress','StartDate','EndDate',
'RecipientLastName','RecipientFirstName','RecipientEmail','ExternalDataReference','Finished',
'Status','EmbeddedData','License Type','Organization','Reference ID','Q16','Q3#1_1_1_TEXT',
'Q3#1_1_2_TEXT','Q3#1_1_3_TEXT','Q3#1_2_1_TEXT','Q3#1_2_3_TEXT','Q3#1_3_1_TEXT','Q3#1_3_2_TEXT',
'Q3#1_3_3_TEXT','Q3#1_4_1_TEXT','Q3#1_4_2_TEXT','Q3#1_4_3_TEXT','Q3#1_5_1_TEXT','Q3#1_5_2_TEXT',
'Q3#1_5_3_TEXT','Q3#1_6_1_TEXT','Q3#1_6_2_TEXT','Q3#1_6_3_TEXT','Q4#1_5_1_TEXT','Q18','Q19#1_1_1_TEXT',
'Q19#1_2_1_TEXT','Q19#1_3_1_TEXT','Q19#1_4_1_TEXT','Q19#1_6_1_TEXT','Q14#1_4_1_TEXT','Q14#1_5_1_TEXT',
'Q14#1_8_1_TEXT','Q20','Q29','Q21','Q22','Q23','Q24','LocationLatitude','LocationLongitude','LocationAccuracy'])
print(df1)
我应该怎么做才能将数据从 csv 获取到我的数据框中,我的代码有什么问题?
解决方案
我能够通过使用“,”作为我的 read_csv 的分隔符来解决这个问题。
df1=pd.read_csv(z.open(file),sep=',',skiprows=[1,2])
我通过使用以下方法摆脱了 NaN:
df1 = df1.replace({np.nan: None})
推荐阅读
- javascript - 在 chart.js 的 yaxis 上显示名称
- c# - ConnectionString 属性尚未初始化 将数据插入数据库时出错
- r - 通过遍历文件夹来更改标识符——R
- java - 带圆圈的项目符号 ⦿ 未出现在 API < 21 的 android WebView 上
- graphql - 如何在 GraphQL Nexus 的数组中定义非空元素?
- python - 如何让 python selenium 代码提取一个一直不同的 ID
- python - 按比例将 Numpy 浮点数组转换为整数(平衡化学方程式)
- three.js - 如何在 OrbitControls 中禁用减速?
- python - 如何遍历不同大小列表的字典
- sql - MariaDB 5.5.65 sql 注入