- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 csv 文件中有多个数据(数据结构相似但不相同),某些行的行和列大小不同。
例如,每个 csv 文件的前三行具有不同的列数,即:
----------------
Table | Format |
----------------
Code | Label | Index |
-----------------------------------------
a | b | c | d | e |
-----------------------------------------
这看起来确实有点丑,而且很难像 pandas 那样读入并使用。
我想制作表格,以便它能够识别文件中列的最大长度,并在空白处添加任何填充以使尺寸相等。IE。
-----------------------------------------
Table | Format | pad | pad | pad |
-----------------------------------------
Code | Label | Index | pad | pad |
-----------------------------------------
a | b | c | d | e |
-----------------------------------------
到目前为止,我研究了读取 pandas 并向 csv 文件添加标题,但由于每个 csv 文件的最大列数各不相同,所以我有点陷入困境。
任何帮助或指示将不胜感激!
最佳答案
如果您的列分隔符是逗号,则只需在每行末尾插入适当数量的逗号即可进行填充。使用 read_csv
pandas 会将填充的值读取为 NaN。
with open('/path/to/data.csv', 'r') as f:
data = f.read().split()
# Count the the number of columns in each line
cols = [row.count(',')+1 for row in data]
# Find the widest row
max_cols = max(cols)
# Loop over lines in text
for id, row in enumerate(data):
# Pad extra columns when necessary
if cols[id] < max_cols:
data[id] += (max_cols - cols[id]) * ','
# Write the data out
with open('/path/to/pad_data.csv', 'w') as f:
f.write('\n'.join(data))
设置一些测试数据:
data = '1,2,3\n4,\n5,6,7,8,9\n'
print(data)
#1,2,3
#4,
#5,6,7,8,9
应用上面的方法可以得到:
print('\n'.join(pad_data))
#1,2,3,,
#4,,,,
#5,6,7,8,9
关于python - 在 csv 文件中添加填充以使数据框可供 pandas 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54791292/
Windows Phone 8 上的开发人员可以使用两个命名空间 - Microsoft.Devices.Sensors 和 Windows.Devices.Sensors。它们几乎完全相同。有人能解
如何使 NameValueCollection 可供 LINQ 查询运算符(例如 where、join、groupby)访问? 我尝试了以下方法: private NameValueCollectio
我希望能够测试哪些文本转语音可供我的 iOS 应用程序与 AVSpeechSynthesis 一起使用。生成已安装声音的列表很容易,但 Apple 将其中一些声音禁止应用程序使用,我想知道哪些声音。
我让 postgres.app 在我的 Mac 上本地运行,并希望我的本地 docker 容器能够连接到它。我该如何最好地做到这一点? 我发现这篇文章建议使用 --add-host 标志(Host p
我有一个包含多个 HTML 文件的文件夹。每个 HTML 文件都使用 AngularJS 并包含相同的声明,如下所示;
与仍然生活在 ant 构建环境世界(在 Windows 机器上)的客户合作。想要在 Java 程序中使用 google-cloud-translate 库,但如果我包含 google-cloud-tr
我是一名优秀的程序员,十分优秀!